package org.edu.modules.oa.entity;


import com.baomidou.mybatisplus.annotation.*;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecgframework.poi.excel.annotation.Excel;

import java.util.Date;


@Data
//数据表名
@TableName("ve_oa_document")
//返回值变程对象本身
@Accessors(chain = true)
//重写toString方法
@EqualsAndHashCode(callSuper = false)
public class  VeOaDocumentEntity {

    /**主键id*/
    @TableId(type = IdType.AUTO)
    @ApiModelProperty(value = "主键id")
    private Long id;

    //文件夹/文件名称
    @Excel(name = "文件夹/文件名称", width = 15)
    @ApiModelProperty(value = "文件夹/文件名称")
    @TableField(value = "DOC_NAME")
    private String docName;

    //文件夹/文件编码
    @Excel(name = "文件夹/文件编码", width = 15)
    @ApiModelProperty(value = "文件夹/文件编码")
    @TableField(value = "DOC_CODE")
    private String docCode;

    //文件附件 关联ve_file_files
    @Excel(name = "文件附件", width = 15)
    @ApiModelProperty(value = "文件附件")
    @TableField(value = "FILE_ID")
    private String fileId;

    //是否共享:0是,1否
    @Excel(name = "是否共享", width = 15)
    @ApiModelProperty(value = "是否共享:0是,1否")
    @TableField(value = "IS_SHARE")
    private Integer isShare;

    //可crud的人员  统一,号隔开
    //可查看人员id
    @Excel(name = "可查看人员id", width = 15)
    @ApiModelProperty(value = "可查看人员id")
    @TableField(value = "SEE_USERID_LIST")
    private String seeUserIdList;

    //可查看人员姓名
    @Excel(name = "可查看人员姓名", width = 15)
    @ApiModelProperty(value = "可查看人员姓名")
    @TableField(value = "SEE_USERNAME_LIST")
    private String seeUserNameList;

    //可添加人员id
    @Excel(name = "可添加人员id", width = 15)
    @ApiModelProperty(value = "可添加人员id")
    @TableField(value = "ADD_USERID_LIST")
    private String addUserIdList;

    //可添加人员姓名
    @Excel(name = "可添加人员姓名", width = 15)
    @ApiModelProperty(value = "可添加人员姓名")
    @TableField(value = "ADD_USERNAME_LIST")
    private String addUserNameList;

    //可修改人员id
    @Excel(name = "可修改人员id", width = 15)
    @ApiModelProperty(value = "可修改人员id")
    @TableField(value = "UPDATE_USERID_LIST")
    private String updateUserIdList;

    //可修改人员姓名
    @Excel(name = "可修改人员姓名", width = 15)
    @ApiModelProperty(value = "可修改人员姓名")
    @TableField(value = "UPDATE_USERNAME_LIST")
    private String updateUserNameList;

    //可删除人员id
    @Excel(name = "可删除人员id", width = 15)
    @ApiModelProperty(value = "可删除人员id")
    @TableField(value = "DELETE_USERID_LIST")
    private String deleteUserIdList;

    //可删除人员姓名
    @Excel(name = "可删除人员姓名", width = 15)
    @ApiModelProperty(value = "可删除人员姓名")
    @TableField(value = "DELETE_USERNAME_LIST")
    private String deleteUserNameList;

    //父级ID
    @Excel(name = "父级ID", width = 15)
    @ApiModelProperty(value = "父级ID")
    @TableField(value = "PARENT_ID")
    private Integer parentId;

    //id类型识别文件夹/文件  0：文件夹；1：文件
    @Excel(name = "父级ID", width = 15)
    @ApiModelProperty(value = "父级ID")
    @TableField(value = "ID_TYPE")
    private Integer idType;

    // 文档类型：个人、单位、项目等
    @Excel(name = "文档类型", width = 15)
    @ApiModelProperty(value = "文档类型：个人、单位、项目等")
    @TableField(value = "DOC_TYPE")
    private String docType;

    //创建时间
    @Excel(name = "创建时间", width = 15)
    @ApiModelProperty(value = "创建时间")
    @TableField(fill = FieldFill.INSERT)
    private Date createTime;


    //逻辑删除 1(true)已删除; 0(false)未删除;2(回收站再次删除)
    @ApiModelProperty(value = "逻辑删除(1:已删除，0:未删除)")
    @TableLogic
    @TableField("IS_DELETED")
    private Integer isDeleted;


    //终端id
    @Excel(name = "终端id", width = 15)
    @ApiModelProperty(value = "终端id")
    @TableField(value = "TERMINALID")
    private Integer terminalId;

    //上传人ID
    @Excel(name = "上传人ID", width = 15)
    @ApiModelProperty(value = "上传人ID")
    @TableField(value = "Create_UserId")
    private String createUserId;

    //上传人姓名
    @Excel(name = "上传人姓名", width = 15)
    @ApiModelProperty(value = "上传人姓名")
    @TableField(value = "Create_UserName")
    private String createUserName;

    //备注信息
    @Excel(name = "备注信息", width = 15)
    @ApiModelProperty(value = "备注信息")
    @TableField(value = "Beizhu")
    private String beizhu;




}
